﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net.Mime;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using CuaHangMayTinh.BusinessLogicLayer;
using CuaHangMayTinh.DataProvider;
using CuaHangMayTinh.Utilities;
using DevComponents.DotNetBar.Controls;

namespace CuaHangMayTinh.PresentationLayer
{
    /// <summary>
    /// form phục hồi csdl 
    /// </summary>
    public partial class FormRestore : Form
    {
        /// <summary>
        /// form khởi tạo
        /// </summary>
        public FormRestore()
        {
            InitializeComponent();
            LoadListView(true);
        }

        /// <summary>
        /// load listview lên datagrid
        /// </summary>
        /// <param name="t"></param>
        private void LoadListView(bool t)
        {
            DataTable dt = DataUtil.ChangeColumn(LogBackupRestoreManager.Find(t));
            if (dt == null) return;
            dataGridViewX_Select.DataSource = dt;
            dataGridViewX_Select.Columns[0].Visible = false;
        }

        /// <summary>
        /// sự kiện click nút phục hồi dữ liệu
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void toolStripbtn_PhucHoi_Click(object sender, EventArgs e)
        {
            if (CheckInput())
            {
                string name = (string)dataGridViewX_Select.SelectedRows[0].Cells[1].Value;
                DateTime datetime = (DateTime)dataGridViewX_Select.SelectedRows[0].Cells[2].Value;
                if (BackupRestoreManager.Restore(name,
                    toolStripTxt_user.Text, toolStriptxt_pass.Text))
                {
                    MessageBox.Show("Phục hồi dữ liệu thành công");
                    LoadListView(false);
                }
                else
                {
                    MessageBox.Show("Phục hồi dữ liệu thất bại !");
                    LoadListView(true);
                }
            }
        }

        /// <summary>
        /// kiểm tra thông tin đầu vào
        /// </summary>
        /// <returns></returns>
        private bool CheckInput()
        {
            if (StringHelper.IsNullorEmpty(toolStripTxt_user.Text))
            {
                MessageBox.Show("Bạn chưa nhập tên tài khoản !");
                return false;
            }
            if (StringHelper.IsNullorEmpty(toolStriptxt_pass.Text))
            {
                MessageBox.Show("Bạn chưa nhập mật khẩu");
                return false;
            }
            return true;
        }

        private void FormRestore_Load(object sender, EventArgs e)
        {
            toolStriptxt_pass.TextBox.PasswordChar = '*';
        }

    }
}
